#include <stdio.h>
#include <stdlib.h>

#include <uv.h>  // https://docs.libuv.org/en/v1.x/
#include <sqlite3.h>

#include <webhttpd/Basic.h>
#include <webhttpd/HttpRequest.h>

#include <srclink/frontend.h>
#include <srclink/backend.h>
#include <srclink/static_response.h>

uv_loop_t *loop;
uv_tcp_t server;
GHashTable *RouteMap;

void setup() {
    // 设置控制台代码页为UTF-8
    SetConsoleOutputCP(CP_UTF8);
    // 设置控制台输入代码页为UTF-8
    SetConsoleCP(CP_UTF8);

#ifdef DEBUG
    setvbuf(stdout, NULL, _IONBF, 0); // 设置为无缓冲模式
#endif
}


int main() {
    setup();

    init_server();
    init_frondend();
    init_backend();

    return run_server("127.0.0.1", 7000);
}
